package com.zjuee.service.basic.captcha.vo;

import com.alibaba.fastjson.annotation.JSONField;
import com.zjuee.base.dto.common.basic.CaptchaPointDto;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;

import java.io.Serializable;
import java.util.List;

/**
 * 验证码
 *
 * @author wu liang
 * @since 1.0
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@ToString(callSuper = true)
public class CaptchaVo implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * TokenKey
     */
    private String authHeaderKey;
    /**
     * TokenValue
     */
    private String authValue;

    /**
     * slide、clickWord  滑动验证码或点选验证码 初步校验交互结果时传递的类型
     */
    private String type;

    /**
     * 验证码 主图片
     */
    private String imageBase64;
    private Integer imageWidth;
    private Integer imageHeight;


    /**
     * 滑动验证码 剪切图
     */
    private String cutImageBase64;
    private Integer cutImageWidth;
    private Integer cutImageHeight;

    /**
     * 点选文字 多坐标
     */
    @JSONField(serialize = false)
    List<CaptchaPointDto> pointList;
    List<String> workList;

    /**
     * 滑动验证码 X轴坐标
     */
    @JSONField(serialize = false)
    private Integer x;

    /**
     * 失效时间 存储在session中时的到期时间
     */
    @JSONField(serialize = false)
    private long expiresTimes;
    /**
     * 默认验证码存储到session中时 保存在此字段当中
     */
    @JSONField(serialize = false)
    private String defaultValue;

}
